The consumer electronics industry is experiencing a major shift as entertainment systems move from the analog domain into the digital domain. Audio has moved into the digital domain with, e.g., compact disks and digital compact cassettes. Video will move into the digital domain rapidly within the next years. An all-digital multimedia system with digital audio and digital video opens up new possibilities to the consumer, owing to impressive digital processing capabilities that are becoming available for affordable prices. To mention a few of the new possibilities: real time video processing has come within reach of consumer apparatus; user control relies more and more on the system's intelligence, thus rendering the system much simpler to operate and relieving the user from monitoring the system; multiple digital resources are going to be interrelated and integrated within a single home system.
Integration of an ever increasing number of possibly interacting functionalities into a single system can be made attractive to both the consumer and the manufacturer if the system design supports distribution of the system's functionalities, scalability of the architecture, and closed-loop control. A system with distributed functionalities is failure tolerant in the sense that a hardware failure in one of the systems components need not affect the others. Functionality distribution also supports scalability. An architecture is scalable, or open, if it allows conflict-free reconfiguring, upgrading or extending of the system. By adding or removing functionalities as needed to match the demands, the manufacturer or the user can optimize system performance while minimizing costs. Closed-loop control means that a component, responding to a stimulus from another component or from the user, confirms receipt of the stimulus. In this manner, the system as a whole can keep track of the status of each of its components.
U.S. Pat. No. 5,959,536 relates to a control system that comprises multiple electronics devices, or sub-systems, and control means coupled to the sub-systems for controlling the interaction among the sub-systems. The control means acts on respective software representations of each respective one of the consumer sub-systems by local execution. By encapsulating the variable complexity of the task of the sub-system within a software representation, it can be made as simple or as sophisticated as needed to bring the capabilities up to a common level. Since the level of interface is common to the sub-systems, software applications executed at the control means can uniformly manipulate sub-systems which embody very different levels of sophistication. The sub-systems interact with and via the control means using a Messaging protocol that notifies the control means of a change of state of the sender of the message. Keeping track of the state changes is essential to the control means for performing the control function. The Messaging relies on the sub-systems having registered with the control means in order to make their presence known and in order to make their attributes available as represented by the respective software representations.